DSSI
about
–
specification
–
why use DSSI?
–
screenshots
–
mailing list
–
download
What is DSSI?
DSSI (pronounced "dizzy") is an API for audio processing plugins,
particularly useful for software synthesis plugins with user
interfaces.
DSSI is an open and well-documented specification developed for use in Linux audio
applications, although portable to other platforms. It may be
thought of as LADSPA-for-instruments, or
something comparable to VSTi.
DSSI consists of a C language API for use by plugins and hosts,
based on the LADSPA API, and an OSC (Open Sound Control) API for use
in user interface to host communications. The DSSI specification consists of an RFC which
describes the background for the proposal and defines the OSC part
of the specification, and a documented header
file which defines the C API.
DSSI is Free Software. The DSSI header file is provided under
the GNU Lesser General Public License.
Status
The DSSI API is currently at version 1.0. The API itself is now
considered stable -- any further development will retain backward
compatibility with previous versions. A host or plugin that
implements the 1.0 API can expect to be compatible with other
DSSI plugins or hosts well into the future.
The current DSSI distribution, version
1.1.0, contains the most recent release of the DSSI header file,
documentation, reference host, and example plugins.
Currently available hosts (as of March 2012) which provide
complete or nearly-complete DSSI support include:
jack-dssi-host
, which is a reference
implementation included in the
DSSI 1.1.0 distribution.
- The
Rosegarden MIDI and audio sequencer.
- ghostess, a
host with a simple GTK+ interface, based on
jack-dssi-host
.
- dssi~, a
Pure Data external which hosts DSSI plugins.
- Aldrin,
the tracker and modular synth inspired by Buzz.
Full support for DSSI OSC/UIs requires Aldrin 0.13 and
Armstrong 0.2.6.
-
Qtractor, an audio/MIDI multi-track sequencer.
- The MusE
sequencer added full DSSI support with version 1.0.
- Renoise, a
tracker-based digital audio workstation, supports DSSI as
of version 2.6.
- Carla, a host for multiple plugin standards, including
DSSI, LADSPA, LV2 and VST. Carla is part of the
KXStudio applications suite.
Hosts which provide partial or specialized DSSI support
include:
-
cli-dssi-host, a command-line tool for producing a
single note from a DSSI plugin, and saving the resulting
audio to a file. Does not include OSC or user interface
support.
-
simplehost, a minimal host for driving a single DSSI
plugin via JACK MIDI. Does not include OSC or user
interface support. The included DSSI C++ classes are
intended to be reusable.
- GNU
Classpath can host DSSI plugins with its Synthesizer
class. Does not include OSC or user interface
support.
- Jost,
which can host DSSI, LADSPA, and linux-native VST plugins
in a directed graph. Provides its own UI for controlling
DSSI plugin parameters, but does not (as of version 0.5.5)
support DSSI UIs.
- The DSSI-to-LV2 bridge in NASPRO
provides partial DSSI support (as of version 0.4.0, no
support for MIDI programs, UIs, or run_multiple_synths()).
- Csound5. Csound 5.12.1
contains some support for DSSI and LADSPA plugins.
- The Wired music
production and creation system has some support for DSSI
in its 0.7.0 release.
Currently available plugins include:
- FluidSynth-DSSI,
a FluidSynth soundfont-playing plugin.
- Xsynth-DSSI,
an analog-style (VCAs-VCF-VCO) synth plugin.
- dssi-vst, a
wrapper plugin enabling the use of many Windows
VST plugins.
- hexter, a Yamaha DX7 modeling
plugin.
-
ll-scope, a GTK+ oscilliscope plugin.
-
Sineshaper, a waveshaping synth plugin.
- dssi_convolve,
a DSSI wrapper around libconvolve, providing a friendly
convolution plugin for reverb effects (among other uses).
-
xy-controller-dssi, a GUI controller plugin which
translates mouse input into X-Y control outputs, and
xy-gravity,
which includes gravity and damping simulations.
- WhySynth,
a synth plugin featuring four oscillators per
voice, multiple oscillator, filter, and envelope modes,
effects, and more.
- nekobee,
a synth plugin that emulates the sound of the TB-303
Bassline.
- nekostring
is an emulation of a 70s-era string ensemble.
- The Calf audio
plugin pack contains a monophonic analog-style synth
and a versatile organ/pad synth.
- HOLAP
contains both DSSI and standalone versions of horgand, an
FM-based organ synth, and the Holharm smart harmonizer
DSSI plugin. (There's also an intriguing start to another
FM synth that uses FLTK for the GUI.)
-
amSynth now includes a DSSI plugin in current git (it
is not included in the 1.3.0 release.)
- ZynAddSubFX
can be built as a DSSI plugin (with limited GUI support as
of version 2.4.1).
- ls16 is a convenience
DSSI plugin offering a limited front-end to the LinuxSampler
library. It works better with certain hosts than others;
see the ls16 website for details.
- The
LibModSynth Plugin Suite currently includes Ray-V, an
analog-style lead synthesizer, a sampler, and several
effects plugins, including filters, delay, and distortion
plugins.
- sfxr-dssi,
a simple DSSI version of the
sfxr sound effect
generator.
- Three simple example plugins, and two simple-but-useful
monotimbral sampler plugins, are included in
the DSSI distribution.
The following development tools support DSSI:
- Faust is a functional
programming language specifically designed for real-time
signal processing. The Faust compiler can produce a
variety of output formats, including DSSI plugins (without GUIs).
- FLAM
(Front-ends for Linux Audio Modules) is
a collection of tools for designing and running graphical
control interfaces. Currently, it produces custom Qt DSSI GUIs
for LADSPA plugins. (Note that only some hosts support
loading DSSI UIs for LADSPA plugins; ghostess, MusE, and
Rosegarden are among those that do.)
- LibModSynth,
in addition to containing several DSSI plugins, aims to be
a complete system for designing DSSI plugins. It includes
tools for rapid plugin development, and a library of audio
DSP modules.
- ocaml-dssi
provides OCaml bindings for DSSI, allowing OCaml code to load
DSSI plugins.
Hosted by